OneDrive 和 SharePoint 中的已缩短共享链接格式

您所在的位置:网站首页 one drive链接怎么用 OneDrive 和 SharePoint 中的已缩短共享链接格式

OneDrive 和 SharePoint 中的已缩短共享链接格式

2023-07-14 02:04| 来源: 网络整理| 查看: 265

OneDrive 和 SharePoint 中的已缩短共享链接格式 项目 06/29/2022

OneDrive 和 SharePoint 中的共享文件和文件夹链接现已缩短,并采用了新格式。 例如,下面展示了对组织内所有人都有效的 OneDrive 链接的新旧格式。

旧链接格式 新链接格式 https://contoso-my.sharepoint.com/personal/john_contoso_com/_layouts/15/guestaccess.aspx?share=ERGZUIZ8E0pAuC1oJtwz4dQB23IabPgbMtiVe0OLPtMybw https://contoso-my.sharepoint.com/:w:/p/john_contoso_com/ERGZUIZ8E0pAuC1oJtwz4dQB23IabPgbMtiVe0OLPtMybw

备注

在引入此更改前共享的链接不受此更改影响,将继续有效。

新链接格式可能会影响遵循或依赖 OneDrive 或 SharePoint URL 结构的应用程序或服务,尤其是当这些应用程序或服务分析网站 URL 或特定字符串时。 新的短链接与所有搭配 guestaccess.aspx 链接使用的 API 都兼容。

下面介绍了此更改影响的一些方案:

应用程序分析最终用户输入的 URL 来获取网站 URL,以生成 SharePoint REST API 请求(如 GetFileByUrl 或 GetSharingLinkData)。

应用程序需要使用最终用户输入的 URL,并使用 CSOM 尝试查询文件信息。

应用程序分析最终用户输入的 URL,以确定它是匿名链接,还是仅供内部使用的共享链接。

使用 Microsoft Graph 与 SharePoint 链接进行交互的应用程序将继续有效。 有关详细信息,请参阅访问共享的 DriveItem。

SharePoint REST API

SharePoint REST API 不支持与用户输入链接进行交互。 建议尽量迁移到 Microsoft Graph 共享 API。

如果无法迁移到 Microsoft Graph,可以采用下列解决办法。 请注意,此解决办法不受支持。

确定基 URL。 这现在是链接的主机名。

通过连接基 URL、SP.RemoteWeb 和特定 API 方法,构造 API 请求(如下所示)。

{hostname}/_api/SP.RemoteWeb(@a)/web/{specific_api_here}?@a='{url_encoded_link}'

例如,对于以下输入 URL:

https://contoso-my.sharepoint.com/personal/john_contoso_com/_layouts/15/guestaccess.aspx?share=ERGZUIZ8E0pAuC1oJtwz4dQB23IabPgbMtiVe0OLPtMybw

旧 API 请求如下:

https://contoso-my.sharepoint.com/personal/john_contoso_com/_api/web/GetFileByUrl(@url)?@url='https%3A%2F%2Fcontoso-my.sharepoint.com%2Fpersonal%2Fjohn_contoso_com%2F_layouts%2F15%2Fguestaccess.aspx%3Fshare%3DERGZUIZ8E0pAuC1oJtwz4dQB23IabPgbMtiVe0OLPtMybw

新 API 请求如下:

https://contoso-my.sharepoint.com/_api/SP.RemoteWeb(@url)/web/GetFileByUrl(@url)?@url='https%3A%2F%2Fcontoso-my.sharepoint.com%2Fpersonal%2Fjohn_contoso_com%2F_layouts%2F15%2Fguestaccess.aspx%3Fshare%3DERGZUIZ8E0pAuC1oJtwz4dQB23IabPgbMtiVe0OLPtMybw

若要确定链接的特定类型,请检查 GetSHaringLinkData API(将示例中的 GetFileByUrl 替换为 GetSharingLinkData)响应中的 IsSharingLink 和 IsAnonymous 字段。 请使用此方法,而不是分析 URL 以获取 guestaccess.aspx 等令牌。

SharePoint CSOM

CSOM 不支持与用户输入链接进行交互。 一些应用程序打开 ClientContext,并查询文件元数据,具体是通过从 SharePoint 链接中连续截断路径段,直到 ClientContext 构造函数成功。 这种方法不再适用于新 URL 格式。

若要解决此问题,请执行以下操作:

在根网站 (scheme://hostname) 上打开“ClientContext”。

调用 Web.WebUrlFromPageUrlDirect() 以获取链接的 Web URL。

使用此 Web URL 打开新“ClientContext”,以便发出其他请求。

备注

这种方法不受支持。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3